package edu.uoc.tdp.client.gestors;

import java.net.MalformedURLException;
import java.rmi.NotBoundException;
import java.rmi.RemoteException;

import edu.uoc.tdp.client.Client;
import edu.uoc.tdp.client.comu.Util;
import edu.uoc.tdp.client.pantalles.PantallaEscriptori;
import edu.uoc.tdp.client.pantalles.PantallaLogin;
import edu.uoc.tdp.comu.beans.PerfilUsuari;
import edu.uoc.tdp.comu.beans.Usuari;

public class GestorEscriptori {
	
	public PantallaEscriptori pantalla;
	
	public GestorEscriptori(){
	  pantalla = new PantallaEscriptori(this);
	  Client.escriptori = this;
	  Connectar();
	}
	
	public void MenuAltaUsuaris(){
		pantalla.MostrarPantallaAltaUsuaris();
	}
	
	public void MenuConsultarUsuaris(){
		pantalla.MostrarPantallaConsultarUsuaris();
	}
	
	public void MenuAltaCentresDocentes(){
		pantalla.MostrarPantallaAltaCentresDocents();
	}
	
	public void MenuConsultarCentresDocentes(){
		pantalla.MostrarPantallaConsultaCentresDocents();
	}
	
	public void MenuTipusEsdeveniments(){
	}
	
	public void MenuAltaEsdeveniments(){
		pantalla.SetPantallaEvent();
	}
	
	public void MenuConsultaEsdeveniments(){
		pantalla.SetPantallaConsultaEvent();
	}
	
	public void MenuInscripcions(){
		pantalla.MostrarPantallaInscripcions();
	}
	
	public void MenuConsultaConfirmacio(){
		pantalla.MostrarPantallaConsultarConfirmar();
	}
	
	public void MenuPercentatgeAssistenciaEsdeveniments(){
	}
	
	public void MenuIngressosTotals(){
	}
	
	public void MenuAssistenciaAUnEsdeveniment(){
	}
	
	public void MenuEsdevenimentsDUnAssistent(){
	}
	
	public void MenuConnecta(){
		Connectar();
		
	}
	
	public void MenuSurt(){
		System.exit(0);
	}
	
	
	public void Connectar(){	
		try {
			pantalla.DesactivarElsPuntsDeMenu();
			GestorRMI.Connecta();
			new PantallaLogin(pantalla);				
		} catch (MalformedURLException e) {
			Util.MissatgeError("Login.ErrorConnexio");
		} catch (RemoteException e) {
			Util.MissatgeError("Login.ErrorConnexio");
		} catch (NotBoundException e) {
			Util.MissatgeError("Login.ErrorConnexio");
		}
	}
	
		
	public void ActivarElsPuntsDeMenuSegonsElPerfil(int perfil){
		
			if (perfil == PerfilUsuari.Administrador){
				pantalla.ActivarPuntsDeMenuDelAdministrador();	
			}
			else if (perfil == PerfilUsuari.Secretaria){
				pantalla.ActivarPuntsDeMenuDeSecretaria();
			}
			else if (perfil == PerfilUsuari.Assistent){
				pantalla.ActivarPuntsDeMenuAssistent();
			}
			else{
				pantalla.DesactivarElsPuntsDeMenu();
			}
	}
	
	public void PuntDeMenuConnexio(boolean b){
		pantalla.PuntDeMenuConnexio(b);
	}

	
	public void DeixarEscriptoriSensePanells(){
		pantalla.CanviarAPanelBuit();
	}
}
